﻿// -----------------------------------------------------------------------
// <copyright file="MessageState.cs" company="Zen Design Corp">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------

namespace Zen.BlackBerry.Pap
{
	using System.Xml.Serialization;

	/// <summary>
	/// PAP message state constants.
	/// </summary>
	public enum MessageState
	{
		/// <summary>
		/// The message is successfully delivered to specified devices.
		/// </summary>
		[XmlEnum("delivered")]
		Delivered = 0,

		/// <summary>
		/// The message is in the process of being delivered to the specified
		/// devices.
		/// </summary>
		[XmlEnum("pending")]
		Pending = 1,

		/// <summary>
		/// 
		/// </summary>
		[XmlEnum("rejected")]
		Rejected = 2,

		/// <summary>
		/// The message cannot be delivered to the specified devices.
		/// </summary>
		[XmlEnum("undeliverable")]
		Undeliverable = 3,

		/// <summary>
		/// The message reached it's maximum age before it could be delivered
		/// to the specified devices.
		/// </summary>
		[XmlEnum("expired")]
		Expired = 4,

		/// <summary>
		/// 
		/// </summary>
		[XmlEnum("aborted")]
		Aborted = 5,

		/// <summary>
		/// 
		/// </summary>
		[XmlEnum("timeout")]
		Timeout = 6,

		/// <summary>
		/// The message was cancelled by the Push Initiator before it could be
		/// delivered to the specified devices.
		/// </summary>
		[XmlEnum("cancelled")]
		Cancelled = 7,

		/// <summary>
		/// The BlackBerry infrastructure cannot determine the state of the
		/// message for the specified devices.
		/// </summary>
		[XmlEnum("unknown")]
		Unknown = 8
	}
}
